package com.atguigu.yygh.schedule;

import com.atguigu.yygh.rabbit.config.MQConst;
import com.atguigu.yygh.rabbit.service.RabbitService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * Created with IntelliJ IDEA
 *
 * @Date: 2023/1/8 - 15:55
 * @Author: Hyoung
 * @Description:
 */

@Component
@EnableScheduling  //开启定时任务
@Slf4j
public class ScheduledTask {
    @Autowired
    private RabbitService rabbitService;

    /**
     * 测试
     * (cron="秒 分 时 日 月 周")
     * *：每隔一秒执行
     * 0/3：从第0秒开始，每隔3秒执行一次
     * 1-3: 从第1秒开始执行，到第3秒结束执行
     * 1,2,3：第1、2、3秒执行
     * ?：不指定，若指定日期，则不指定周，反之同理
     */
    @Scheduled(cron = "0/3 * * * * ?")
    public void task1() {
        log.info("task1 执行");
        // 方案一：直接orderInfoService查订单

        
    }

    /**
     * 每天8点执行 提醒就医
     */
    @Scheduled(cron = "0 0 8 * * ?")
    public void taskTips() {
        log.info("ScheduledTask执行定时任务发送就诊提醒");
        rabbitService.sendMessage(MQConst.EXCHANGE_DIRECT_TASK, MQConst.ROUTING_TASK_8, "");
    }
}